1
เกินประวัติแบบเส้นตรง: เมื่อการเลื่อนเร็วไม่สามารถทำได้
AI016Lesson 5
00:00

ประวัติแบบเส้นตรงผ่าน การเลื่อนเร็ว เป็นไปได้เฉพาะเมื่อประวัติของสาขาเป็นเส้นตรงของบรรพบุรุษเท่านั้น เมื่อสาขาหลักและสาขาฟีเจอร์แยกออกจากกัน ขั้นตอนการเปลี่ยนตำแหน่งตัวชี้ในงานรวมแบบเลื่อนเร็วจะกลายเป็นไปไม่ได้ทางคณิตศาสตร์ทันที

1. ความแตกต่างที่เห็นได้ชัด

การรวมแบบเลื่อนเร็วไม่ได้ สะท้อนให้เห็น ในประวัติโปรเจกต์ หมายความว่า ความเป็นเอกลักษณ์ของสาขาจะถูกลบออกไปอย่างแท้จริงเมื่อรวมเข้ากับโปรเจกต์ ในทางกลับกัน การรวมสามทางจะคงเรื่องราวของการทำงานแบบขนานไว้

2. หลักการของนักประวัติศาสตร์

สาขาหลักที่คงที่ master branch ทำหน้าที่เป็นนักประวัติศาสตร์ของโปรเจกต์ทั้งหมด มันสามารถบันทึกสิ่งที่เราอนุญาตให้มองเห็นเท่านั้น เมื่อเส้นทางแยกจากกัน เราจำเป็นต้องสร้างเหตุการณ์ใหม่—การสร้างคอมมิตการรวม merge commitเพื่อเชื่อมช่องว่างและประสานสองโลกที่พัฒนาไปพร้อมกัน

C1C2 (ฐาน)แมสเตอร์ (แยกออก)บ้า (ฟีเจอร์)เส้นทางที่แยกออก (ไม่เป็นเส้นตรง)

3. การตรวจจับการแยกทาง

ใช้ git log --onelineนักพัฒนาสามารถมองเห็นจุดที่เส้นทางแยกได้ หาก 'master' เคลื่อนที่ไปข้างหน้าตั้งแต่คุณแยกสาขาออกมา จึงไม่สามารถเลื่อนตัวชี้ไปข้างหน้าโดยไม่สูญเสียงานใหม่ที่เพิ่มเข้ามาใน master ได้

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>